package com.ktgj.flight.service;

import java.util.List;

import com.ktgj.flight.domain.Airport;
import com.ktgj.flight.domain.KtserviceAirport;
import com.ktgj.flight.vo.*;

/**
 * 机场、高铁、港口Service接口
 * 
 * @author ruoyi
 * @date 2021-11-10
 */
public interface IKtserviceAirportService 
{
    /**
     * 查询机场、高铁、港口
     * 
     * @param airportCode 机场、高铁、港口ID
     * @return 机场、高铁、港口
     */
    public KtserviceAirport selectKtserviceAirportById(String airportCode);

    /**
     * 查询机场、高铁、港口列表
     * 
     * @param ktserviceAirport 机场、高铁、港口
     * @return 机场、高铁、港口集合
     */
    public List<KtserviceAirport> selectKtserviceAirportList(KtserviceAirport ktserviceAirport);

    /**
     * 新增机场、高铁、港口
     * 
     * @param ktserviceAirport 机场、高铁、港口
     * @return 结果
     */
    public int insertKtserviceAirport(KtserviceAirport ktserviceAirport);

    /**
     * 修改机场、高铁、港口
     * 
     * @param ktserviceAirport 机场、高铁、港口
     * @return 结果
     */
    public int updateKtserviceAirport(KtserviceAirport ktserviceAirport);

    /**
     * 批量删除机场、高铁、港口
     * 
     * @param airportCodes 需要删除的机场、高铁、港口ID
     * @return 结果
     */
    public int deleteKtserviceAirportByIds(String[] airportCodes);

    /**
     * 删除机场、高铁、港口信息
     * 
     * @param airportCode 机场、高铁、港口ID
     * @return 结果
     */
    public int deleteKtserviceAirportById(String airportCode);

    /**
     * 根据当前位置查询最近网点
     * @param
     * @return 机场列表
     * */
    public KtserviceAirportVo selectKtserviceAirportByLngAndLat(String lng, String lat);

    /**
     * 查询机场，高铁，港口列表(显示)
     * */
    public List<KtserviceAirportSelectVo> selectKtserviceAirportSelectVo(Long classIficationType, String lng, String lat, int count);

    /**
     * 查询热门机场，高铁，港口列表(显示)
     * */
    public List<KtserviceAirportSelectVo> selectKtserviceAirportByPopular(Long classIficationType);

    /**
     * 查询全部高铁
     * */
    public List<TrainVo> selectKtserviceAirportByCities(String lng, String lat);

    /**
     * 查询热门城市
     * */
    public List<CitiesVo> selectKtserviceAirportByPopularCities();

    /**
     * 查寻当前城市全部机场
     * */
    public CitiesAirporVo selectCitiesAirporVoByPopularCities(String lng, String lat, String classIficationType);
}
